Пульт.Онлайн /

Создание узлов и прототипов

Прототипы и узлы — ключевые элементы в Пульт.Онлайн, обеспечивающие сбор данных и управление устройствами. Прототип служит шаблоном для создания узлов, определяя их структуру и поведение.

Правильно настроенные прототипы и узлы — основа эффективной работы SCADA-системы Пульт.Онлайн, позволяющая легко масштабировать проект и управлять множеством устройств через единый интерфейс.

Основные понятия

Прототип — шаблон, определяющий набор переменных, параметров и скриптов для узлов. Позволяет стандартизировать настройки однотипных устройств.

Узел — логическая единица системы, представляющая физическое устройство или группу устройств. Узел наследует структуру от прототипа, но имеет собственные значения параметров.

Переменная — элемент данных узла. Может быть физической (получает данные от драйверов) или виртуальной (вычисляется на основе других переменных).

Параметр узла — настраиваемое свойство, которое можно задать индивидуально для каждого узла. Параметры используются в свойствах переменных через подстановку %имя_параметра%.

Создание прототипа

  1. В Редакторе откройте раздел проекта Прототипы.

  2. Нажмите Добавить → выберите тип прототипа:

    • Пустой прототип — для создания с нуля
    • Стандартный узел Modbus-TCP — готовый шаблон для Modbus устройств
    • Стандартный узел MQTT — шаблон для работы с MQTT-брокером
    • Другие готовые шаблоны для распространенных протоколов
  3. Задайте имя прототипа и сохраните.

Настройка параметров узла в прототипе

Параметры узла позволяют настраивать свойства переменных для каждого узла индивидуально:

  1. В прототипе перейдите на вкладку Параметры.

  2. Добавьте параметры, которые будут использоваться в переменных:

    • host — IP-адрес или доменное имя устройства
    • port — порт подключения
    • slave — ID устройства для Modbus
    • username, password — учетные данные
    • Любые другие параметры, специфичные для вашего устройства
  3. В свойствах параметров укажите:

    • Имя — используется для подстановки %имя% в свойства переменных
    • Тип — строка, число, логическое значение
    • Значение по умолчанию — будет использоваться, если в узле не значение задано явно

Создание переменных в прототипе

Переменные определяют, какие данные будут собираться с устройства:

  1. В прототипе перейдите на вкладку драйвера (например, MBTCP для Modbus, MQTT для MQTT и т.д.).

  2. Нажмите Добавить для создания новой переменной.

  3. Заполните свойства переменной:

    • Имя — локальное имя переменной (например, temperature)
    • Тип данных — INT16, UINT32, FLOAT, STRING и т.д.
    • Адрес/Регистр — адрес регистра для Modbus или топик для MQTT
    • Период опроса — как часто опрашивать переменную
    • Множитель/Смещение — для преобразования сырых значений
  4. Используйте созданные ранее параметры узла в свойствах переменных для общих параметров, таких как хост, порт и т.п:

    Хост: %host%
    Порт: %port%
    Slave: %slave%
    Таймаут: %timeout%
    

Создание узла на основе прототипа

  1. В разделе Узлы добавьте Узел.
  2. Задайте имя узла (например, "Вентустановка 1").
  3. В свойствах узла в поле Прототип выберите созданный прототип.
  4. Узел автоматически унаследует все переменные и параметры прототипа.

Настройка параметров узла

После привязки прототипа необходимо задать конкретные значения параметров для каждого узла. Эти значения будут применены к тем свойствам переменных узла, в которые были выполнены подстановки %параметров%. Таким образом, узлы созданные на базе одного прототипа смогут опрашивать разные полевые устройства.

  1. Заполните значения параметров, которые после привязки прототипа отображаются в свойствах узла, например:

    • host: 192.168.1.100
    • port: 502
    • slave: 1
    • timeout: 100
  2. Сохраните изменения.

Сборка проекта

После создания узлов необходимо выполнить сборку проекта:

  1. Нажмите кнопку Сборка в верхней панели редактора.
  2. Дождитесь завершения процесса (может занять несколько секунд для больших проектов).

Сборка обновляет глобальный набор переменных на основе узлов и их прототипов, распределяя этот набор между драйверами и шлюзами системы.

Проверка работы узла

После сборки проверьте, что данные поступают корректно:

  1. Перейдите в ИнтерфейсПроектУзлы.
  2. Откройте интересующий вас узел.
  3. Убедитесь, что значения переменных в списке обновляются и соответствуют ожидаемым.

Практический пример: Modbus-устройство

Рассмотрим создание прототипа для Modbus-TCP устройства (например, контроллера вентустановки):

  1. Создаем прототип "Вентустановка_Modbus"

  2. Добавляем параметры:

    • host (строка, по умолчанию localhost)
    • port (число, по умолчанию 502)
    • slave (число, по умолчанию 1)
  3. Создаем переменные на вкладке MBTCP:

    • temp_outdoor — уличная температура (IR 1, INT16, множитель 0.01)
    • temp_supply — температура притока (IR 3, INT16, множитель 0.01)
    • fan_on — статус вентилятора (CL 4, BOOL)
    • В свойствах переменных указываем: Хост: %host%, Порт: %port%, Slave ID: %slave%
  4. Создаем узел "Вентустановка 1"

  5. Задаем параметры узла:

    • host: 45.131.40.220
    • port: 503
    • slave: 1
  6. Выполняем сборку и проверяем данные в интерфейсе.

Советы и рекомендации

  1. Используйте осмысленные имена для прототипов и узлов — это упростит навигацию в больших проектах.

  2. Именуйте переменные в нижнем регистре с подчеркиваниями — например: room_setpoint. Это позволит избежать ошибок при подстановках имен переменных в выражения и скрипты.

  3. Выносите часто изменяемые настройки в параметры узла — IP-адреса, порты, учетные данные.

  4. Создавайте библиотеку прототипов для часто используемых типов устройств.

  5. Тестируйте на одном узле перед масштабированием на множество устройств.

  6. Используйте виртуальные переменные (вкладка VIRT) для вычислений, агрегаций и обработки данных.

  7. Заведите тревожные переменные (вкладка ALARM) для мониторинга критических состояний.

Дополнительные ресурсы

  Email
   fdb_list
   fdb_load
   fdb_move
   fdb_paths
   node_list
   subscribe
   user_list
   user_save
   var_get
   var_list
   var_set